The delivery of information has become omnipresent in recent years with the advent of the Internet and the World-Wide Web (WWW). Moreover, browsers and viewers, which permit the information to be displayed, are now standard with any computing device acquired by a consumer today. By way of example only, some of the WWW browsers include Netscape, Internet Explorer, and others. Often these browsers are equipped with external viewer plugins, which facilitate viewing data in a variety of formats. Information used within a browser is often referred to as browser media. Other types of media, such as paged media exist as well.
Information viewed in a browser is optimally formatted or rendered to be displayed and traversed within the browser (e.g. within the browser media environment). Yet, that same data is not optimally viewed when it is transferred to a paged media. For example, footnote data viewed in a WWW browser may include a hypertext link associated with a footnote citation, and when this link is activated the footnote body associated with the footnote citation becomes viewable, either in a separate popup window, or within the same browser window. Although this is optimal and efficient for browser media, it is not feasible when the footnote data is transferred to print media, since any link would have to be manually traversed within the printed document by the user. In fact, often when footnote bodies are printed from a browser media, all of the footnotes occur at the end of the document, rather than at the end of each page wherein a corresponding footnote citation matching a footnote body occurs.
This is cumbersome, especially if a user only desires to view a few pages of a publication in printed form. Furthermore, users typically desire, when reading a printed page, having the start of a footnote body present on the same page in which the corresponding footnote citation occurs. It is more efficient for the user, when referring to the footnote body on a printed page, to have the footnote citation occur within the text of the same page as its concomitant footnote body.
Furthermore, the problem of transferring data from a browser or a viewer to a printer is not uncommon and is not limited to footnote data. In fact, anyone who has selected what appeared to be well formatted information for printing in a WWW browser, is often astonished to discover that once the information is outputted to a paged media from the printer, the information is no longer suitable for viewing. Users may be forced to change the page setup within the printer, select landscape modes, and a variety of other choices in an attempt to get a paged media version of what they are currently viewing in a browser media on their computing device s monitor. But, even these options will not merge footnote bodies with footnote citations properly within paged media.
Reconciling browser media and page media is problematic, particularly when attempting to render footnote data from a browser media to a paged media. Footnote bodies may be physically kept separate from the text within which the corresponding footnote citations occur. As a result, even changing the options associated with a printer will do little to resolve the problem of merging footnote bodies with the appropriate footnote citations when printing footnote data.
To solve this, and many other problems associated with data presentation, an industry wide consortium developed a series of data format standards designed to assist in the transition of data being displayed in different media. One primary standard is Extensible Markup Language (XML), which displays data in terms of its content devoid of any presentation attributes.
Raw XML is not particularly useful in the displaying or the presentation of data in a browser or a paged media by itself, rather, the XML is useful in divorcing the proprietary presentation associated with each media from the data markup, thereby requiring each media to render the raw XML into a useful format prior to displaying it to a user. A number of rendering languages and standards have emerged to assist in this effort, such as by way of example only Extensible Stylesheets Language (XSL), Extensible Stylesheets Language Transformations (XSLT), Cascading Style Sheets (CSS) and others. These rendering languages provide guidelines and utilities to take raw XML and render it to a useful presentation format for a particular media.
Yet, even with the design consistency associated with a standard data format (e.g. XML) and a variety of additional rendering utilities and guidelines (e.g. XSL, XSLT, CSS), footnote data still presents a number of difficult problems when attempting to transfer the footnote data from a browser media to a paged media, since the footnote citations may be stored separately from the footnote bodies within the data being rendered, and since a single page must have at least the beginning of a footnote body on the same page in which the corresponding footnote citation occurs.
Moreover, present techniques to render footnote bodies on the same page wherein a footnote citation occurs, include inefficient techniques which require continuous iterations of computations to adjust the areas on a page associated with non footnote data and footnote bodies. In prior techniques, as footnote bodies are added to the same page previously placed footnote citations drift to the top of the page, requiring complex iterative recalculations of the positions of the footnote citations and the footnote bodies within the page. This is necessary to avoid the possibility that a previously placed footnote citation which has a corresponding footnote body already rendered on a page, will not drift to a previous page as the footnote body data increases on the page. Accordingly, more efficient techniques for rendering footnotes are needed.